home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_13_09 / barbu2 / ctlcheck.cpp < prev    next >
C/C++ Source or Header  |  1995-05-04  |  1KB  |  56 lines

  1. // CTLCHECK implementation
  2. //////////////////////////////////////////////////////
  3. #include "CONTROLS.HPP"
  4. #include "KW.HPP"
  5. CTLCHECK::CTLCHECK(const DESCRIPT& Desc,
  6.             SHOWDATA* Guru,
  7.             const CTLMAPPER* Map)
  8.     : CTL(Desc, Guru), _map(Map)
  9. {
  10. STR Label;
  11. _desc.value(KW::LABEL, Label);
  12. _duh = _map->duSquareBox();
  13. _duw = _duh + _map->duwText(Label);
  14. }
  15.  
  16. CTLCHECK::~CTLCHECK()
  17. {
  18. }
  19.  
  20. int CTLCHECK::addToDlg(int nFirstFreeId,
  21.                         MEMBLOCK *pTemplate,
  22.                         int duX, int duY)
  23. {
  24. CTL::DLGITEM check(CTL::_Check);
  25. check.dtilX = duX;
  26. check.dtilY = duY;
  27. check.dtilCX = _duw;
  28. check.dtilCY = _duh;
  29. _idC = nFirstFreeId;
  30. check.dtilID = _idC;
  31. pTemplate->add((unsigned char*)&check, sizeof(check));
  32. return 1;
  33. }
  34.  
  35. void CTLCHECK::dataToScreen()
  36. {
  37. STR Label;
  38. _desc.value(KW::LABEL, Label);
  39. SetDlgItemText(_hDlg, _idC, Label);
  40.  
  41. STR Var;
  42. _desc.value(KW::VAR, Var);
  43. int val = _guru->get(Var) ? 1 : 0;
  44. SendDlgItemMessage(_hDlg, _idC, BM_SETCHECK, val, 0);
  45. }
  46.  
  47. void CTLCHECK::saveData()
  48. {
  49. int val = SendDlgItemMessage(_hDlg, _idC,
  50.                 BM_GETCHECK, 0, 0);
  51. STR Var;
  52. _desc.value(KW::VAR, Var);
  53. _guru->set(Var, val);
  54. }
  55.  
  56.